package com.gimi.cloud.bbp.manage.service;

import com.gimi.cloud.bbp.dto.base.BaseDTO;

import java.util.List;

/**
 * 基础service
 * @author wbj
 * @version 1.0
 * @Description 基础service
 * @create 2017-12-19
 **/
public interface BaseService<T extends BaseDTO> {
    /**
     * 根据条件查询数据
     * @param dto 查询参数
     * @param isPaging 是否分页
     * @return 查询结果
     * @throws Exception
     */
    List<T> queryList(T dto, boolean isPaging) throws Exception;
    /**
     * 根据主键获取结果
     * @param dto
     * @param id 待查询的主键
     * @return 查询结果
     * @throws Exception
     */
    T load(T dto, Object id) throws Exception;
    /**
     * 插入或更新数据
     * @param dto 待插入或更新的数据
     * @return 操作结果
     * @throws Exception
     */
    T saveOrUpdate(T dto) throws Exception;
    /**
     * 删除数据
     * @param dto
     * @param id 待删除的数据id
     * @param realDel 是否真删除
     * @return 受影响的行数
     * @throws Exception
     */
    int delete(T dto, Object id, boolean realDel) throws Exception;
}
